package com.intretech.tj.gpp.entity.DTO


/*
    常规演示（流畅移动）
    val sandboxParams = IDMParams(
        desiredSpeed      = 0.8,    // 0.8m/s ≈ 2.88km/h，适合可视化演示
        minGap            = 0.4,    // 0.4m 车头间距
        timeHeadway       = 1.0,    // 1s 头时距
        maxAccel          = 0.4,    // 最大加速度 0.4m/s²
        comfortableDecel  = 0.5     // 舒适减速度 0.5m/s²
    )
    保守演示（拥堵或精准演示）
    val slowParams = IDMParams(
        desiredSpeed      = 0.5,    // 0.5m/s ≈ 1.8km/h，更慢
        minGap            = 0.3,    // 0.3m 车头间距
        timeHeadway       = 1.2,    // 1.2s 头时距，加大安全裕度
        maxAccel          = 0.3,    // 最大加速度 0.3m/s²
        comfortableDecel  = 0.4     // 舒适减速度 0.4m/s²
    )
*/

data class IDMParams(
    val desiredSpeed: Double,      // 期望速度 (m/s)，一般设为 edge.maxSpeed
    val minGap: Double,            // 最小安全距离 s0 (m)
    val timeHeadway: Double,       // 安全头时距 T (s)
    val maxAccel: Double,          // 最大加速度 a (m/s²)
    val comfortableDecel: Double,  // 舒适减速度 b (m/s²)
    val delta: Double = 4.0        // 加速度指数 δ（通常取4）
)